<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>null和undefined之间的区别</title>
</head>
<body>
    
</body>
</html>
<script>
//     1、undefined
// 　表示"缺少值"，就是此处应该有一个值，但是还没有定义
// 　典型用法是：
// 　　（1）变量被声明了，但没有赋值时，就等于undefined。
// 　　（2) 调用函数时，应该提供的参数没有提供，该参数等于undefined。
// 　　（3）对象没有赋值的属性，该属性的值为undefined。
// 　　（4）函数没有返回值时，默认返回undefined。

//      2、null
    // 　表示"没有对象"，即该处不应该有值。
    // 　典型用法是：
// 　　（1） 作为函数的参数，表示该函数的参数不是对象。
// 　　（2） 作为对象原型链的终点
    var a;
    console.log(a);//undefined

    function b(c){
        console.log(c);
    }
    b()//undefined

    var d = new Object()
    console.log(d);


    var f = b();
    f // undefined


    Object.getPrototypeOf(Object.prototype)
    //null
</script>